Providing geocoded targeted web content

ABSTRACT

A system and method are disclosed for providing geocoded web content to a user based on a specific geographic location specified by the user. A determination module receives a geographic location from the user and determines latitude and longitude coordinates associated with the geographic location from a geographic information database. The determination module further determines a geographic boundary associated with the latitude and longitude coordinates based at least in part on an area of interest surrounding the geographic location. A web content search module determines web content comprising substance associated with a location within the geographic boundary. A front end interface transmits the determined web content for display in an order based at least in part on distance from the location associated with the web content to the geographic location.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/207,086, filed. Sep. 9, 2008 (now allowed), and titled “ProvidingGeocoded Targeted Web Content,” and is further related to U.S. patentapplication Ser. No. 12/144,538, filed Jun. 23, 2008, and titled“Generating Geocoded Targeted Web Advertisements.” The contents of theabove-referenced applications are expressly hereby incorporated byreference in their entireties.

BACKGROUND

1. Field of Art

The disclosure generally relates to the field of providing relevant webcontent to users, and more particularly to geographic location-specificweb content.

2. Description of the Related Art

To stay up to date with current events, much of the general publicreceives news and information from either a newspaper and/or through atelevised news broadcast. These mechanisms allow a user to receive newsinformation regarding various topics from sports, politics, weather,business or science. The information provided by the newspapers or newsbroadcasts allow the general public to be aware of what is happening inthe world generally at a national or worldwide level.

Because more of the general public has begun to access the Internet, thenumber of available web sites on the Internet that provide newsinformation has increased dramatically. Typically, newspapers and thetelevision stations that host the news broadcasts also provide newsinformation on the Internet. An advantage of hosting news informationonline is that a user is now capable of searching for specific newsinformation of interest that is available on the website. However,conventional online news information websites only allow a user tosearch and locate information at a national or city level. A user is notcapable of locating news information that pertains to the user at aspecific geographic location such as an address or a neighborhood.Typically, current online news information websites merely locate newsarticles that contain the keywords of interest specified by the user. Atbest, conventional online news information websites are capable ofreceiving a zip code from a user and merely determine the cityassociated with the zip code and the news information relevant to thecity. Thus, the conventional online news information websites are onlycapable of providing news information that is related to the users'specified geographic area at a high level, such as at city level, andare not capable of providing web content that is related to a specificgeographic location such as an address.

Thus, there is lacking, inter alia, a method and system that providesusers geographic location-specific web content that is targetedspecifically to a geographic location specified by the user.

SUMMARY

One embodiment of a disclosed system and method is for providing userswith web content that is relevant to a specific geographic locationspecified by a user. The system and method beneficially saves users timeand effort when attempting to locate information that is relevant to aspecific geographic location. The system and method associates thegeographic location specified from the user as a centroid and providesthe user with web content that is associated with an area surroundingthe centroid. Generally, the area surrounding the centroid can bedynamically adjusted to focus on web content that contains substance orinformation that is relevant to an area that is within the vicinity(e.g., 1000 feet) of the centroid. Thus, the user is aware of news,events or stories, for example, which are occurring nearby the specifiedgeographic location.

By providing web content that pertains to a specific geographic locationthat is within a 1000 ft of a user's home or current location, forexample, the system and method provides web content that is much morerelevant to the user compared to web content about the city in which theuser is located. Generally, web content that is related to a veryspecific location, such as an address, is dynamic in relevance in thatthe relevance changes from one user to the next. For example, a newsarticle regarding road construction is much more relevant to the userliving on the street under construction compared to another user wholives one mile from the specific location and never drives on thestreet. The method and system provided described herein allows eachindividual user to locate information that may only be relevant to thatparticular user as the information pertains to a specific geographiclocation specified by the user.

In one embodiment, a web content hosting server receives a geographiclocation from a user. The web content hosting server determines latitudeand longitude coordinates associated with the specified geographiclocation and determines a geographic boundary surrounding the latitudeand longitude coordinates. The geographic boundary is determined by theweb content hosting server based on a distance parameter that eithernarrows or broadens the geographic area associated with the web contentin the search results that pertain to the latitude and longitudecoordinates. The web content hosting server determines web content thatis associated with an area within the geographic area defined by thedistance parameter and provides the web content to the user. Forexample, the user may specify a geographic specific location, such as anaddress. The web content hosting server searches for the specifiedaddress location and may provide the user with news articles regardingstories related to an area within a specified distance from the address.A relevant news story may be, for example, about an Olympic swimmer whoresides on the same street as the specified address.

Thus, the system and method beneficially provides geocoded targeted webcontent to a user so that the user no longer has to spend much effort tolocate web content that is relevant to a specified location such as anaddress. An advantage of the system and method disclosed above is thatthe user the user is provided web content that is relevant to aspecified street, address or neighborhood(s) allowing the user to keeptrack of what is occurring near their home or work, for example, withouthaving to filter through web content that is irrelevant to the specifiedlocation.

The features and advantages described in the specification are not allinclusive and, in particular, many additional features and advantageswill be apparent to one of ordinary skill in the art in view of thedrawings, specification, and claims. Moreover, it should be noted thatthe language used in the specification has been principally selected forreadability and instructional purposes, and may not have been selectedto delineate or circumscribe the disclosed subject matter.

BRIEF DESCRIPTION OF DRAWINGS

The disclosed embodiments have other advantages and features which willbe more readily apparent from the detailed description, the appendedclaims, and the accompanying figures (or drawings). A brief introductionof the figures is below.

FIG. 1 illustrates one embodiment of a block diagram of the systemarchitecture of the present invention.

FIG. 2 illustrates one embodiment of a web content table.

FIG. 3 illustrates one embodiment of web content comprising a newsarticle.

FIG. 4 illustrates one embodiment of a flow diagram describing a methodto provide geographic location specific web content.

FIG. 5 illustrates one embodiment of a web page for receiving ageographic specific location.

FIG. 6 illustrates one embodiment of a diagram indicating variousneighborhoods depicted by trapezoidal regions.

FIG. 7 illustrates one embodiment of a boundary surrounding a centroid.

FIG. 8 illustrates one embodiment of a web page providing a user webcontent that is relevant to a specified geographic location.

FIG. 9 illustrates one embodiment of a geocoded targeted webadvertisement.

DETAILED DESCRIPTION

The Figures (FIGS.) and the following description relate to preferredembodiments by way of illustration only. It should be noted that fromthe following discussion, alternative embodiments of the structures andmethods disclosed herein will be readily recognized as viablealternatives that may be employed without departing from the principlesof what is claimed.

Reference will now be made in detail to several embodiments, examples ofwhich are illustrated in the accompanying figures. It is noted thatwherever practicable similar or like reference numbers may be used inthe figures and may indicate similar or like functionality. The figuresdepict embodiments of the disclosed system or method for purposes ofillustration only. One skilled in the art will readily recognize fromthe following description that alternative embodiments of the structuresand methods illustrated herein may be employed without departing fromthe principles described herein.

System Overview

Referring now to FIG. 1, there is shown one embodiment of a systemarchitecture including a web content hosting server 100. As shown inFIG. 1, a web content hosting server 100 comprises a front end interface110, an analysis module 120, a determination module 130, a web contentsearch module 140, a web content database 150 and a geographicinformation database 160.

In general, the web content hosting server 100 provides geocodedtargeted web content to a user based at least in part on a geographiclocation specified by the user. By accessing the web content hostingserver 100, a user is provided web content related to a specifiedlocation such as news articles related to the street that the userresides or events in a neighborhood of interest to the user. Geocodedtargeted web content is web content that is relevant to a specificgeographic location. Examples of geocoded targeted web content are newsarticles, sports information, music reviews, movie reviews, restaurantreviews, real estate information, gossip or any other web content thatcan be associated with a particular geographic location based on thesubstance comprised in the web content. An example of a geocodedtargeted web content may be a local news article that comprisessubstance associated with the address location of 801 California Streetin Mountain View, Calif. In one embodiment, the web content hostingserver 100 associates the user's specified location as a centroid orcenterpoint on a map and provides the user with geocoded targeted webcontent illustrating information that is occurring within a specifiedand/or defined area near the centroid.

Many conventional features, such as firewalls, load balancers,application servers, failover servers, site management tools and soforth are not shown so as not to obscure the features of the systemillustrated in FIG. 1. An example web content hosting server 100 forimplementation of the system is the web server hosting the websitewww.Outside.In. The examples disclosed herein may be applied to otherweb content hosting servers that are known as well. It will beunderstood that the term “web site” represents any computer systemadapted to serve content using any internetworking protocols, and is notintended to be limited to content uploaded or downloaded via theInternet or the HTTP protocol. In general, functions described in oneembodiment as being performed on the server side can also be performedon the client side in other embodiments if appropriate. In addition, thefunctionality attributed to a particular component can be performed bydifferent or multiple components operating together.

Each of the various modules are implemented as part of a server programexecuting on server-class computer comprising a central processing unit(CPU), memory, network interface, peripheral interfaces, and other wellknown components. The computers themselves preferably run an open-sourceoperating system such as LINUX, have generally high performance CPUs, 1gigabyte (GB) or more of memory, and 100 GB or more of disk storage. Ofcourse, other types of computers can be used, and it is expected that asmore powerful computers are developed in the future, they can beconfigured in accordance with the teachings herein. The functionalityimplemented by any of the elements can be provided from computer programproducts that are stored in tangible computer accessible storage mediums(e.g., RAM, hard disk, or optical/magnetic media).

A client 180 executes a browser 185 and can connect to the front endinterface 110 via a network 170, which is typically the internet, butcan also be any network, including but not limited to any combination ofa local area network (LAN), a metropolitan area network (MAN), a widearea network (WAN), a mobile, wired or wireless network, a privatenetwork, or a virtual private network. While only a single client 180and browser 185 are shown, it is understood that very large numbers(e.g., millions) of clients are supported and can be in communicationwith the web content hosting server 100 at any time or website 190. Theclient 180 may include a variety of different computing devices.Examples of client devices 180 are personal computers, digitalassistants, personal digital assistants, cellular phones, mobile phones,smart phones or laptop computers. As will be obvious to one of ordinaryskill in the art, the disclosed configuration is not limited to thedevices listed above.

A browser 185 can include any application that allows users of client180 to access web pages on the World Wide Web. Suitable applications areMICROSOFT INTERNET EXPLORER, NETSCAPE NAVIGATOR, MOZILLA FIREFOX, APPLESAFARI or any application adapted to allow access to web pages on theWorld Wide Web. A user can access web pages on the web content hostingserver 100 or on website 190. Though only one website is shown, it isunderstood that very large numbers (e.g., millions) of websites aresupported and can be in communication with the client 180 or web contenthosting server 100. For purposes of convenience and description of oneembodiment, the users of client 180 and browser 185 will be referred toas a “user” or “users.” In the context of the present discussion, a userwill be accessing the web content hosting server 100 to view web contentrelated to a geographic location specified by the user.

In one embodiment, the front end interface 110 provides communicationbetween the various modules within the web content hosting server 100and the browser 185. The front end interface receives geographiclocations from the user and the locations are provided to theappropriate modules within the web content hosting server 100. Animplementation of the front end interface 110 also provides a userinterface, such as a website, to a user for specifying a geographiclocation, as shown in FIG. 5, and for viewing web content related to ageographic location specified by the user, as shown in FIG. 8 forexample. FIGS. 5 and 8 will later be further described in furtherdetail.

The geographic information database 160 stores geographic information ofvarious geographic locations. In one embodiment, a geographic locationis an address, zip code, neighborhood or city. The geographicinformation stored in the geographic information database 160 compriseslatitude and longitude coordinates associated with various geographiclocations. As an example, the geographic information database 160 maystore the latitude and longitude coordinates corresponding to theaddress of “801 California Street, Mountain View, Calif.” In oneembodiment, the latitude and longitude corresponding to a geographiclocation may represent the centroid or centerpoint of a geographic areathat contains the specified geographic location depending on the type ofgeographic boundary parameter used to determine a geographic boundarythat surrounds the latitude and longitude coordinates. Note that thecentroid is the center point of a regularly shaped boundary (e.g.,circular boundary, rectangular boundary, or triangular boundary) or of atrapezoidal or other irregularly shaped boundary. In another embodiment,the geographic information database 160 stores region hierarchies thatindicate geographic locations related to a specific geographic location.For example, the geographic information database 160 may storeinformation indicating that the neighborhood of Park Slop is associatedwith Brooklyn which is associated with New York City.

In an embodiment, the geographic information comprises a geographicboundary associated with a geographic location. A geographic boundarymay define an area that bounds a particular neighborhood or a city, forexample. In an embodiment, the neighborhoods and/or cities stored in thegeographic information database 160 are defined by a boundary-box systemprovided by a mapping company, such as Maponics, Inc., that defines theneighborhoods and/or cities within a geographic area.

A web content database 150 stores geocoded targeted web content. Aspreviously mentioned, geocoded targeted web content is web content, suchas news articles, sports information, music reviews, movie reviews,restaurant reviews, real estate information, gossip or any other webcontent that can be associated with a particular geographic locationbased on the substance comprised in the web content. In one embodiment,the geocoded targeted web content is stored in web content tables whereeach web content table is associated with a general geographic area,such as a city. Each piece of web content within a web content tablecomprises location tags that associate the web content with a specificgeographic location within the general geographic area that describesthe table. In one embodiment, a type of location tag is an address tagthat describes an address associated with a piece of web content. Theaddress tag may indicate an address mentioned within the web content oran address that is associated in some manner with the web content.Another type of location tag is a neighborhood tag or a city tag whichindicates the neighborhood or city associated with the web content.

Referring now to FIG. 2, there is shown an example of a web contenttable 200 that corresponds to the city of Mountain View, Calif.Illustrated in the web content table 200 are various web content 201,203, and 205 that are geocoded to correspond to the city of MountainView. In this example, a news article 201, a motorcycle dealer review203 and a restaurant guide 205 are geocoded as to correspond to thegeneral geographic area of the city of Mountain View, Calif. Aspreviously mentioned, each piece of web content has associated locationtags that associate the web content with a specific geographic locationwithin the general geographic location that describes the web contenttable.

In this example, each piece of web content is tagged with an address tag207 that describes an address associated with the web content. Forexample, the motorcycle dealer review 203 titled “A Look At Ducati HondaPeninsula” is tagged with the address of “1289 W. El Camino Real,Mountain View, Calif.” that may represent the address of the dealershiplocated within the review. Additionally, each piece of web content has aneighborhood tag 209 that describes the neighborhood associated with theweb content. For example, the neighborhood tag associated with the newsarticle 201 “Traffic in Mountain View” has a neighborhood tag of“Downtown Mountain View” as the news article 201 may comprise substanceregarding the traffic conditions in the neighborhood of downtownMountain View. In one embodiment, each web content also has a city tag211. The city tag describes the city related to the web content. Usingthe news article 201 example, the news article has a city tag of“Mountain View” since the news article illustrates the trafficconditions in the city of Mountain View.

Referring now back to FIG. 1, the analysis module 120 determines thevarious location tags described above that are associated with the webcontent which will be stored in the web content database 150. In oneembodiment, web content that will be stored in the web content database150 is purchased from a company that is independent from the web contenthosting server 100. In another embodiment, web content may be located onthe Internet using a web crawler. The analysis module 120 analyzes eachpiece of web content for geographic location information prior to thestorage of the web content in the web content database 150.

In one embodiment, the analysis module 120 determines the location tagsfrom the content or substance displayed in the web page. The analysismodule 120 analyzes the substance (e.g., text or metadata) of the webcontent for any keywords, capitalized words, or phrases indicative of ageographic location stored in the geographic information database 160.The analysis module 120 compares the keywords or phrases to geographiclocations in the geographic information database 160 to determinewhether the information located in the web content is a geographiclocation. In another embodiment, the analysis module 120 determineslocation tags based on the source of the web content. Once a geographiclocation has been determined, the analysis module 120 generates theappropriate location tags for the piece of web content before storingthe web content in the web content database 150.

Referring now to FIG. 3, there is shown an example of web contentcontaining a news article 300 that is analyzed by the analysis module120 for geographic location information. The analysis module 120analyzes the substance of the news article 300 for locations such as anaddress, city, or neighborhood that corresponds to geographic locationinformation stored in the geographic information database 160. In thisexample, the analysis module 120 determines that the keyword “ParkSlope” from the title 303 of the news article “Man is 105 years old inPark Slope” corresponds to a neighborhood stored in the geographicinformation database 160. Additionally, the analysis module 120determines that the keyword “Brooklyn” from the source 301 of the newsarticle “Brooklyn News” corresponds to a city in the geographicinformation database 160. The analysis module 120 associates the newsarticle 300 with a neighborhood tag of “Park Slope” and a city tag of“Brooklyn” prior to storing the article in the web content database 150.In another embodiment, the analysis module 120 refers to the regionhierarchies stored in the geographic information database 160 todetermine the value of the city tag associated with the determinedneighborhood.

Refer now back to FIG. 1. Once a user has accessed the web contenthosting server 100 via the user interface provided by the front endinterface 110, the determination module 130 receives a geographiclocation specified by the user from the front end interface 110. In oneembodiment, the geographic location may comprise an address, zip code,neighborhood, city or any other geographic specific location that is ofinterest to the user. The received location represents a specificlocation in which the user is interested in knowing events, articles,news stories, for example, that are occurring near the specifiedlocation. The determination module 130 determines latitude and longitudecoordinates associated with the geographic location specified by theuser by referring to the geographic information database 160. Thedetermination module 130 searches the geographic information database160 for the latitude and longitude coordinates associated with thespecified geographic location. The latitude and longitude coordinatesrepresent the location in which the search for web content will befocused.

In one embodiment, the determination module 130 determines a geographicboundary that comprises the geographic location specified by the user.In one embodiment, the determination module 130 determines a geographicboundary such that the latitude and longitude coordinates associatedwith the location are at the centerpoint of the boundary which is aspecific distance away from the centerpoint. In another embodiment, thedetermination module 130 may determine the neighborhood boundary or cityboundary that encompasses the latitude and longitude coordinates byreferring to the geographic information database 160. The determinationmodule 130 searches the geographic information database 160 for theneighborhood boundary and/or city boundary in which the specifiedgeographic location is located. Geographic boundaries will be describedin further detail below.

A web content search module 140 searches the web content database 150for web content that is associated with a geographic location specifiedby the user. The web content search module 140 analyzes the locationtags of the web content for tags indicating that a particular webcontent contains substance relevant to an area within the geographicboundary surrounding the specified geographic location. Once the webcontent search module 140 has located the appropriate web content, theweb content search module 140 provides the web content to the front endinterface 110 for presentation to the user.

Providing Geocoded Targeted Web Content Process

In one embodiment, the process of providing geocoded targeted webcontent of the web content hosting server 100 determines web contentassociated with a user specified geographic location so that the user isaware of web content that pertains to the specified location. Theprocess allows a user to track web content related to the specifiedgeographic location of interest so that the user is aware of any events,stories or headlines, for example, which are occurring near thespecified location. The process performed by the web content hostingserver 100 to provide geocoded targeted web content is further describedbelow. Note that other embodiments perform the illustrated steps indifferent orders, and/or perform different or additional steps.

Referring now to FIG. 4, the web content hosting server 100 performs thefunctional steps to provide geocoded targeted web content: 401: Receivegeographic location; 403: Determine latitude and longitude coordinates;405: Determine geographic boundary; 407: Determine geocoded targeted webcontent; and 409: Display web content. Each of these steps will now bedescribed in further detail.

At step 401, the determination module 130 receives a geographic locationthat has been specified by the user. Referring now to FIG. 5, there isshown one embodiment of a web page 500 for receiving a user specifiedgeographic location. In one embodiment, the user submits a geographiclocation in the text box 501 in order for the web content hosting server100 to provide the user with web content that illustrates what isoccurring around the specified geographic location. In one embodiment,the geographic location is a specific address, street, neighborhood orcity of interest to the user. The specified geographic locationcorresponds to any location associated with a user such as the user'shome, work place, current location or any location of interest to theuser. The user may also specify a geographic location that correspondsto any location of a person that is associated with the user, such as afriend or relative, in order for the user to keep track of what isoccurring around the other person's location. In the example illustratedin FIG. 5, the user has entered the geographic location of “801California Street, Mountain View, Calif. 94041” in order to be displayedweb content that is associated with the specified location. Once thegeographic location has been submitted by the user, the determinationmodule 130 receives the geographic location.

Referring back to FIG. 4, at step 403 the determination module 130determines latitude and longitude coordinates associated with thereceived geographic location. In one embodiment, the determinationmodule 130 refers to the geographic information database 160 todetermine the latitude and longitude coordinates that correspond to theuser specified geographic location. In one embodiment, the latitude andlongitude coordinates are considered the centroid or centerpoint of ageographic area in which the search for web content will be focused.Generally, the latitude and longitude coordinates of a geographiclocation are used by the web content hosting server 100 to determine webcontent associated with the specified geographic location and thegeographic area surrounding the location.

Referring to FIG. 4, at step 405 the determination module 130 determinesa geographic boundary associated with the specified geographic location.The geographic boundary defines a geographic area in which a search forweb content will be focused. In one embodiment, the determination module130 receives a geographic boundary parameter from the user in order todetermine the geographic boundary. In one embodiment, the geographicboundary parameter represents a boundary that surrounds the specifiedgeographic location. In one embodiment, the geographic boundaryparameter may restrict the boundary to the neighborhood or city wherethe specified geographic location is located. The determination module130 refers to the geographic information database 160 for neighborhoodor city boundary information associated with the specified geographiclocation.

Referring now to FIG. 6, there is shown a diagram 600 illustratingvarious neighborhoods depicted by trapezoidal regions that include userspecified geographic locations located within the neighborhoods. Aspreviously mentioned, the neighborhoods may be defined by a boundary-boxsystem provided by a mapping company, such as Maponics, Inc., thatdefines the neighborhood in which the specified geographic location islocated. FIG. 6 illustrates neighborhood A 603, neighborhood B 605 andneighborhood C 607. The boundaries of each neighborhood are defined byvarious streets 601. The specified geographic location corresponds tothe latitude and longitude coordinates 609. In this example, only webcontent within the area bounded by the neighborhood 605 is retrieved.

Note that the methods for determining the boundary of a neighborhood mayalso be used to determine the boundary of a city where a specifiedgeographic location is located. In one embodiment, the neighborhoodswithin a city are arranged in a pre-set hierarchy as determined by asystem administrator of the web content hosting server 100. Thedetermination module 130 determines the neighborhood in which thespecified location is located such that that particular neighborhood isassociated with the first position in the pre-set hierarchy so that theweb content related to that particular neighborhood is considered morerelevant to the geographic location compared to the web contentassociated with the other neighborhoods within the city.

In another embodiment, the geographic boundary parameter is a boundarydistance from the geographic location that is specified by the user. Theboundary distance represents the distance from the geographic locationto the outer bounds of a geographic boundary. The determination module130 may receive a boundary distance indicating a distance of 1000 feet,for example, via a text input specifying the distance or via a distanceslider on a map illustrating the geographic location that allows theuser to adjust the boundary distance as the user is viewing the relatedweb content. The determination module 130 determines a circulargeographic area that bounds the specified geographic location based onthe geographic location and the boundary distance. When a boundarydistance is used, the latitude and longitude coordinates correspondingto the specified geographic location are considered the centroid orcenterpoint of the bounded circular geographic area.

Referring now to FIG. 7, there is shown a map 700 of an areaillustrating centroid 703 that is bounded by a circular boundary 701.Responsive to a boundary distance being specified, the determinationmodule 130 associates the latitude and longitude coordinates of thegeographic location specified by the user as the centroid of an area.The determination module 130 determines the circular boundary 701 fromthe boundary distance 705 and the location of the centroid 703. Forexample, the boundary distance may be set to a distance of 1000 feetwhich results in a circular boundary 701 with a radius of 1000 feet fromthe centroid 703.

In one embodiment, rather than the user specifying the geographicboundary parameter, the determination module 130 automaticallydetermines one or more geographic boundaries based on a combination of adistance boundary, a neighborhood boundary and/or a city boundary. Bydetermining more than one boundary that surrounds the geographiclocation, the determination module 130 generates concentric boundarieswith the latitude and longitude coordinates of the geographic locationat the center. For example, the determination module 130 may determine acircular geographic area that bounds the latitude and longitudecoordinates which are located at the center of the circular area basedon a defined boundary distance as set by a system administrator of theweb content hosting website 100. In one embodiment, the geographicboundary of the neighborhood or neighborhoods that encompasses thecircular area is determined by the determination module 130. In afurther embodiment, the geographic boundary of the city in which theneighborhood(s) and circular area are located is determined by thedetermination module 130. By determining concentric boundaries, the webcontent hosting website 100 can retrieve web content located within eachof the various geographic boundaries described above so that the user isaware of web content that varies in degrees of relevance to thespecified geographic location. It is noted that the boundaries can havea variety of shapes, for example, circles, squares, rectangles, polygonsor trapezoids.

Referring back to FIG. 4, in step 407, the web content search module 140determines geocoded web content that is to be displayed to the userbased at least in part on the geographic boundary or geographicboundaries described above. As previously mentioned, the web contentstored in the web content database 150 are in tables that correspond toa general geographic location, such as a city. Each piece of web contentis tagged with location tags that describe specific geographiclocations, such as an address, neighborhood or city, associated with theweb content. Generally, the web content search module 140 determines aweb content table associated with the city that bounds the specifiedgeographic location regardless of whether a geographic boundaryparameter indicates a city boundary. This is done in order to locate theappropriate web content table that will be searched for web contentpertaining to the specified geographic location. Once the appropriateweb content table is located, the web content search module 140 analyzesthe location tags in the web content table to determine location tagsthat indicate an address, neighborhood or city within the boundary thatsurrounds the latitude and longitude coordinates of the specifiedgeographic location.

For example, assume that a user specified a geographic location of “801California Street, Mountain View, Calif. 94041” and that thedetermination module 130 automatically determined concentric boundariescomprising a circular geographic boundary with a boundary distance of1000 feet from the latitude and longitude coordinates and a neighborhoodboundary that surrounds the circular geographic boundary. The webcontent search module 140 determines that the web content tableassociated with the city of Mountain View, Calif. will be searched forweb content. The web content search module 140 analyzes the address tagsof the web content in the table to determine the web content withaddress tags that indicate an address within the 1000 feet radius fromthe user specified location. The web content search module 140 alsosearches the web content table for any web content with a neighborhoodtag of “Old Mountain View” since the geographic location specified bythe user is located in the neighborhood of “Old Mountain View.”

Referring back to FIG. 4, the final step 409 the front end interface 110displays the web content determined by the web content search module 140to the user. The front end interface 110 provides the web content to theuser in a user interface, such as a website, so that the user is awareof information around the specified geographic location. In anotherembodiment, rather than displaying the web content in the userinterface, the web content may be e-mailed, twittered or sent via richsite summary (RSS) to the user so that the user need not visit the webcontent hosting server 100 to be updated with the information related tothe specified geographic location.

Referring now to FIG. 8, there is shown one embodiment of a userinterface 800 that displays the web content related to the userspecified geographic location of “801 California Street, Mountain View,Calif. 94041.” In one embodiment, the web content 809 is hierarchicallyordered based on distance from the geographic location specified by theuser. In one embodiment, the hierarchy is ordered in descending orderstarting with web content within 1000 ft of the specified location, webcontent in and around the neighborhood associated with the specifiedlocation, web content in and around the borough (if applicable)associated with the specified location and web content in and around thecity associated with the specified location. As shown in the userinterface 800, the web content 809 is divided into sections. The webcontent in section 801 illustrates web content that was determined to beassociated with the geographic area within 1000 feet of the latitude andlongitude coordinates corresponding to 801 California Street, MountainView, Calif. 94041. In section 803, the web content that are locatedwithin the geographic area of a neighborhood or city boundary andoutside of circular geographic boundary (i.e., 1000 feet from thelatitude and longitude coordinates) is displayed. Note that if webcontent associated with a specific section (i.e., articles within 1000ft or in and around the neighborhood) are not located, the section isnot displayed to the user.

In one embodiment, the web content is ordered based on a pre-sethierarchy according to the neighborhoods within the city. Theneighborhood that comprises the specified geographic location isassociated with the first position in the hierarchy followed by theother neighborhoods that exist within the city. The web content withinthe neighborhood where the geographic location is located is displayedat the top of the displayed list of web content with the web content inthe other neighborhoods or web content associated with an area withinthe city that comprises the specified geographic location is displayedin descending order based on distance to the geographic locationrelative to the neighborhood's position in the hierarchy.

In one embodiment, the front end interface 110 displays the web contentdetermined by the web content search module 140 in a hierarchal list inthe user interface rather than being web content being divided intosections. In one embodiment, the web content is displayed in thehierarchal list in descending order based on distance from thegeographic location. For example, the web content nearest in distance tothe specified geographic location is displayed at the top of thehierarchal list followed by the web content that is the next closest indistance to the geographic location.

Additionally, the user interface 800 provides topic filters 807 to theuser. The user may select to filter out web content that does notcorrespond to the specified topic by the user. For example, the user mayspecify that the user is only interested in web content relating to art,bars & clubs and sports. Thus, only web content that is relevant tothese topics is displayed to the user using the methods described above.In an embodiment, the user interface 800 provides a text box 805 so thatthe user can change the geographic location in which the search for webcontent is focused. In a further embodiment, the user interface 800provides a mechanism, such as a boundary slider, (not shown) to changethe boundary distance (e.g., from 1000 feet to 500 feet) such that theweb content displayed to the user can be dynamically updated accordingto the boundary distance specified by the user.

In one embodiment, the web content hosting server 100 is configured toperform the processes of generating geocoded targeted web advertisementsusing the methods and system described in U.S. patent application Ser.No. 12/144,538, entitled “Generating Geocoded Targeted WebAdvertisements,” by inventors Robert F. Deeming and Steven B. Johnson,and assigned to the same assignee as the present application, thecontents of which are herein incorporated by reference. In oneembodiment, the web content hosting server 100 may generate and providegeocoded targeted web advertisements to the user based at least in parton the geographic location specified by the user. Referring to FIG. 9,there is shown an example of a geocoded targeted web advertisement 900for a lunch special at “Joe's Deli.” The web advertisement 900 may bedisplayed to the user every day at a specific time in the user interface800 reflecting the daily lunch specials at “Joe's Deli” which is locatednear the geographic location specified by the user. Web advertisers canutilize the web content hosting server 100 to provide geocoded targetedweb advertisements to the user that are relevant to location specifiedby the user in order to promote sales or specials.

The features described herein beneficially provide a system and methodto provide geocoded targeted web content to a user. A user no longer hasto spend extraneous effort to locate web content that is relevant to aspecified location, such as an address. Using the system and methoddisclosed above, the user is provided web content that is relevant to aspecific address, street or neighborhood, for example, by determining ageographic boundary that comprises the geographic location specified bythe user and retrieving web content with information associated with alocation within the geographic boundary. Thus, the system and methodallows the user to keep track of what is happening in the area neartheir home, work or current location without the need for the user tofilter through web content that is not directly related to the user'sspecified location.

Some portions of above description describe the embodiments in terms ofalgorithms and symbolic representations of operations on information,for example, the processes described and illustrated through FIGS. 1through 4 and explained through the examples in FIGS. 2, 3 and 5-9.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs (e.g., asinstructions) or equivalent electrical circuits, microcode, or the likeand are executed by a processor or other like device. Furthermore, ithas also proven convenient at times, to refer to these arrangements ofoperations as modules, for example as in FIG. 1, without loss ofgenerality. The described operations and their associated modules may beembodied in software, firmware, hardware, or any combinations thereof.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. It should be understood thatthese terms are not intended as synonyms for each other. For example,some embodiments may be described using the term “connected” to indicatethat two or more elements are in direct physical or electrical contactwith each other. In another example, some embodiments may be describedusing the term “coupled” to indicate that two or more elements are indirect physical or electrical contact. The term “coupled,” however, mayalso mean that two or more elements are not in direct contact with eachother, but yet still co-operate or interact with each other. Theembodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true forpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the invention. Thisdescription should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs for asystem and a method for providing geocoded targeted web content based ona specified geographic location through the disclosed principles herein.Thus, while particular embodiments and applications have beenillustrated and described, it is to be understood that the disclosedembodiments are not limited to the precise construction and componentsdisclosed herein. Various modifications, changes and variations, whichwill be apparent to those skilled in the art, may be made in thearrangement, operation and details of the method and apparatus disclosedherein without departing from the spirit and scope defined in theappended claims.

What is claimed is:
 1. A computer-implemented method of providinggeocoded web content, the method comprising the following operationsperformed by at least one processor: analyzing web content to determinewhether the web content is associated with geographic information storedin a first database; determining location tags for the web content whenthe web content is associated with the geographic information; storingthe location tags in a second database, the second database comprisingone or more web content tables associating the location tags with theweb content; determining latitude and longitude coordinates associatedwith a geographic location; determining a first geographic boundarysurrounding the latitude and longitude coordinates; determining a secondgeographic boundary surrounding the first geographic boundary based atleast in part on a boundary parameter indicating at least one of aneighborhood or city surrounding the first geographic boundary;receiving user input indicating an adjusted boundary parameter;determining an adjusted second geographic boundary surrounding the firstgeographic boundary based at least in part on the adjusted boundaryparameter; analyzing, by a server, the location tags stored in thesecond database to determine web content comprising informationassociated with a location inside of the adjusted second geographicboundary and outside of the first geographic boundary; and transmittingthe determined web content for display to a user.
 2. The method of claim1, wherein the latitude and longitude represent a centroid of the firstgeographic boundary.
 3. The method of claim 1, wherein the boundaryparameter indicates a city surrounding the first geographic boundary,and wherein the method further comprises: determining a plurality ofneighborhoods located within the city; determining an order for theplurality of neighborhoods, wherein each of the plurality ofneighborhoods is associated with a position in the order; determining aneighborhood from the plurality of neighborhoods that comprises thelatitude and longitude coordinates; and associating the determinedneighborhood with a first position in the order.
 4. The method of claim1, wherein the first geographic boundary is a specified distance fromthe geographic location.
 5. The method of claim 1, wherein thegeographic location inside the first geographic boundary corresponds toa center of a regular shaped geographic boundary, a trapezoidalboundary, or an irregularly shaped boundary.
 6. The method of claim 1,further comprising transmitting a web advertisement that is associatedwith the geographic location.
 7. A computerized system for providinggeocoded web content, the system comprising: a storage medium thatstores a set of instructions; and at least one processor that executesthe set of instructions to cause the at least one processor to: analyzeweb content to determine whether the web content is associated withgeographic information stored in a first database; determine locationtags for the web content when the web content is associated with thegeographic information; store the location tags in a second database,the second database comprising one or more web content tablesassociating the location tags with the web content; determine latitudeand longitude coordinates associated with a geographic location;determine a first geographic boundary surrounding the latitude andlongitude coordinates; determine a second geographic boundarysurrounding the first geographic boundary based at least in part on aboundary parameter indicating at least one of a neighborhood or citysurrounding the first geographic boundary; receiving user inputindicating an adjusted boundary parameter; determining an adjustedsecond geographic boundary surrounding the first geographic boundarybased at least in part on the adjusted boundary parameter; analyze, by aserver, the location tags in the second database to determine webcontent comprising information associated with a location inside of theadjusted second geographic boundary and outside of the first geographicboundary; and transmit the determined web content for display at adevice of a user.
 8. The system of claim 7, wherein the latitude andlongitude represent a centroid of the first geographic boundary.
 9. Thesystem of claim 7, wherein the boundary parameter indicates a citysurrounding the first geographic boundary, and wherein the set ofinstructions further causes the at least one processor to: determine aplurality of neighborhoods located within the city; determine an orderfor the plurality of neighborhoods, wherein each of the plurality ofneighborhoods is associated with a position in the order; determine aneighborhood from the plurality of neighborhoods that comprises thelatitude and longitude coordinates; and associate the determinedneighborhood with a first position in the order.
 10. The system of claim7, wherein the first geographic boundary is a specified distance fromthe geographic location.
 11. The system of claim 7, wherein thegeographic location inside the first geographic boundary corresponds toa center of a regular shaped geographic boundary, a trapezoidalboundary, or an irregularly shaped boundary.
 12. The system of claim 7,wherein the set of instructions further causes the at least oneprocessor to transmit a web advertisement that is associated with thegeographic location.
 13. A non-transitory tangible computer-readablestorage medium that stores a set of instructions, the set ofinstructions being executable by at least one processing system to causethe processing system to: analyze web content to determine whether theweb content is associated with geographic information stored in a firstdatabase; determine location tags for the web content when the webcontent is associated with the geographic information; store thelocation tags in a second database, the second database comprising oneor more web content tables associating the location tags with the webcontent; determine latitude and longitude coordinates associated with ageographic location; determine a first geographic boundary surroundingthe latitude and longitude coordinates; determine a second geographicboundary surrounding the first geographic boundary based at least inpart on a boundary parameter indicating at least one of a neighborhoodor city surrounding the first geographic boundary; receiving user inputindicating an adjusted boundary parameter; determining an adjustedsecond geographic boundary surrounding the first geographic boundarybased at least in part on the adjusted boundary parameter; analyze, by aserver, the location tags in the second database to determine webcontent comprising information associated with a location inside of theadjusted second geographic boundary and outside of the first geographicboundary; and transmit the determined web content for display at adevice of a user.
 14. The method of claim 1, further comprising:generating the location tags based on a source of the web content. 15.The system of claim 7, wherein the set of instructions further cause theat least one processor to: generate the location tags based on a sourceof the web content.
 16. The method of claim 1, wherein analyzing webcontent comprises analyzing text or metadata of web content to determinean associated location.